package com.vogue.supplymall.entmanagement.domain.mapper;

import com.vogue.supplymall.entmanagement.domain.model.LicenceApply;
import com.vogue.supplymall.entmanagement.domain.provider.LicenceShopListSqlProvider;
import com.vogue.ssm.database.util.SqlLangDriver;
import com.vogue.supplymall.common.domain.dto.LicenceShopSearchInfo;
import com.vogue.supplymall.entmanagement.domain.provider.LicenceShopWarningProvider;

import org.apache.ibatis.annotations.Lang;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;

import java.util.List;
import java.util.Map;

/**
 * The interface Licence apply mapper.
 */
@Mapper
public interface LicenceApplyMapper extends BaseMapper<LicenceApply, Long> {
	
    /**
     * Find shop list list.
     *
     * @param licenceShopSearchInfo the licence shop search info
     * @return the list
     */
    @SelectProvider(type = LicenceShopListSqlProvider.class, method = "find")
    List<Map<String, Object>> findShopList(LicenceShopSearchInfo licenceShopSearchInfo);

	@SelectProvider(type = LicenceShopWarningProvider.class, method = "find")
	List<Map<String, Object>> findWarning(LicenceShopSearchInfo licenceShopSearchInfo);
    
	@Select("select * from licence_apply la where la.syscodeid=#{syscodeId}")
	@Lang(SqlLangDriver.class)
	public List<LicenceApply> findLABySyscodeid(Long syscodeId);

}
